package net.lab1024.sa.admin.module.business.project.dao;

import java.util.List;

import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
import net.lab1024.sa.admin.module.business.project.domain.entity.ProjectInfoEntity;
import net.lab1024.sa.admin.module.business.project.domain.form.ProjectInfoQueryForm;
import net.lab1024.sa.admin.module.business.project.domain.vo.ProjectInfoVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

/**
 * 项目表 Dao
 *
 * @Author zzx
 * @Date 2025-08-07 13:47:01
 * @Copyright zzx
 */

@Mapper
public interface ProjectInfoDao extends BaseMapper<ProjectInfoEntity> {

    /**
     * 分页 查询
     *
     * @param page
     * @param queryForm
     * @return
     */
    List<ProjectInfoVO> queryPage(Page page, @Param("queryForm") ProjectInfoQueryForm queryForm);

    /**
     * 更新删除状态
     */
    long updateDeleted(@Param("projectId")Long projectId,@Param("deletedFlag")boolean deletedFlag);

    /**
     * 批量更新删除状态
     */
    void batchUpdateDeleted(@Param("idList")List<Long> idList,@Param("deletedFlag")boolean deletedFlag);

    /**
     * 查询项目详情
     *
     */
    ProjectInfoVO getDetail(@Param("projectId") Long projectId, @Param("deletedFlag") Boolean deletedFlag);

}
